home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-03
/
baswiz19.zip
/
BW$BAS.ZIP
/
SINHD.BAS
< prev
next >
Wrap
BASIC Source File
|
1993-01-29
|
1KB
|
41 lines
' +----------------------------------------------------------------------+
' | |
' | BASWIZ Copyright (c) 1990-1993 Thomas G. Hanlin III |
' | |
' | The BASIC Wizard's Library |
' | |
' +----------------------------------------------------------------------+
DEFDBL A-Z
FUNCTION SinHD# (Nr AS DOUBLE)
p0 = -630767.3640497716991184787251#
p1 = -89912.72022039509355398013511#
p2 = -2894.211355989563807284660366#
p3 = -26.30563213397497062819489#
q0 = -630767.3640497716991212077277#
q1 = 15215.17378790019070696485176#
q2 = -173.678953558233699533450911#
IF Nr < 0# THEN
N = -Nr
Negate% = -1
ELSE
N = Nr
END IF
IF N > 21# THEN
tmp = EXP(N) / 2#
ELSEIF N > .5# THEN
tmp = (EXP(N) - EXP(-N)) / 2#
ELSE
tmpsq = N * N
tmp1 = (((tmpsq * p3 + p2) * tmpsq + p1) * tmpsq + p0) * N
tmp2 = ((tmpsq + q2) * tmpsq + q1) * tmpsq + q0
tmp = tmp1 / tmp2
END IF
IF Negate% THEN
SinHD# = -tmp
ELSE
SinHD# = tmp
END IF
END FUNCTION